Skip to content

[pull] main from withastro:main#401

Merged
pull[bot] merged 10 commits intocode:mainfrom
withastro:main
Feb 24, 2026
Merged

[pull] main from withastro:main#401
pull[bot] merged 10 commits intocode:mainfrom
withastro:main

Conversation

@pull
Copy link

@pull pull bot commented Feb 24, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

matthewp and others added 10 commits February 24, 2026 10:16
* refactor: add router unit tests

* fix: allow preserve build format in router

* test: remove routing integration fixtures

* Avoid an extra loop

* PR comments

* Full refactor

* fixes breaking test

* fix tests failing

* fix tests again

* Fix router match with base-stripped SSR paths

* fix shiki lazy language test

* Redirect base path in router match

* Collapse double-slash redirects in router

* Honor pageExtensions in parseRoute

* Move buildOutput defaulting to callers

* Ensure default 404 before router init

* Use internal fileExtension helper in parseRoute

* Use at(-1) for last route segment

* Document extension stripping in parseRoute

* Replace routing README with JSDoc

* Broaden router redirect status type

* Return base variable in normalizeBase

* Return input value for root slash

* Reuse path helpers in router

* Type buildFormat from AstroConfig

* Add JSDoc to routing test helpers

* Fix prerender utils import paths

* fix int

* Add comment explaining why the routes are sorted
* fix: include slot scripts in server island response

Components passed as slots to server:defer components had their scripts
silently dropped because renderSlotToString separates HTML content from
render instructions, and only the HTML was serialized into the island
payload via content.toString().

This appends script instructions to the slot HTML before encryption,
so the island response includes the scripts needed for interactivity.

This may result in duplicate script injection when the same component
is also used statically on the page. Deduplication is not feasible here
due to the concurrent BufferedRenderer model — renderedScripts is not
yet populated at the time island payloads are constructed.

* add changeset

* fix: cast SlotString for type safety

* use Array.isArray guard for defensive type safety

* test: verify slotted component scripts in server island response

* Update .changeset/server-island-slot-scripts.md

Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev>

* improved type import

---------

Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev>
)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Princesseuh <3019731+Princesseuh@users.noreply.github.com>
Co-authored-by: Sarah Rainsberger <5098874+sarah11918@users.noreply.github.com>
Co-authored-by: Yan <61414485+yanthomasdev@users.noreply.github.com>
Co-authored-by: Armand Philippot <git@armand.philippot.eu>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…are Workers (#15648)

* fix: Fix integration test failure for `<Code />` component on Cloudflare Workers

* add changeset
@pull pull bot locked and limited conversation to collaborators Feb 24, 2026
@pull pull bot added the ⤵️ pull label Feb 24, 2026
@pull pull bot merged commit 802426b into code:main Feb 24, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants